package com.example.tse.rbhttpservice.service.member;

import com.example.tse.rbhttpservice.service.member.model.MemberAddressGetRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberAddressGetResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberAddressGetListRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberAddressGetListResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberAddressRemoveRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberAddressRemoveResponse;
import com.example.tse.rbhttpservice.service.member.model.MemberAddressSaveRequest;
import com.example.tse.rbhttpservice.service.member.model.MemberAddressSaveResponse;
import  com.example.tse.rbhttpservice.service.RemoteServiceListenerT;

/**
*
* @author wliu
*  edit   tse
*/
public interface MemberAddressService {
/**
* 获取用户某个收货地址信息
* @param request
* @param listener
* @return MemberAddressGetResponse
*/
void get(MemberAddressGetRequest request, RemoteServiceListenerT
        <MemberAddressGetResponse> listener);

/**
* 获取当前用户的收货地址列表
* @param request
* @param listener
* @return MemberAddressGetListResponse
*/
void getList(MemberAddressGetListRequest request, RemoteServiceListenerT
        <MemberAddressGetListResponse> listener);

/**
* 删除用户某地址记录
* @param request
* @param listener
* @return MemberAddressRemoveResponse
*/
void remove(MemberAddressRemoveRequest request, RemoteServiceListenerT
        <MemberAddressRemoveResponse> listener);

/**
* 保存收货地址
* @param request
* @param listener
* @return MemberAddressSaveResponse
*/
void save(MemberAddressSaveRequest request, RemoteServiceListenerT
        <MemberAddressSaveResponse> listener);

    }
